package com.wicket.okrbff.biz.service.dto.req;

import com.wicket.okrbff.biz.service.dto.common.BffBusAppDocRelaDto;
import com.wicket.okrbff.biz.service.dto.common.BffDeptDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BffUpdateOfficialDocumentReqDto
 * @使用场景
 */
@Data
public class BffUpdateOfficialDocumentReqDto implements Serializable {

  /**
   * 公文ID
   */
  @NotNull(message = "公文ID不能为空")
  @ApiModelProperty("公文ID")
  private String officialDocumentId;

  /**
   * 公文名称
   */
  @ApiModelProperty("公文名称")
  private String officialDocumentName;

  /**
   * 公文文档ID
   */
  @ApiModelProperty("公文文档ID")
  private String officialDocumentUnstructuredDataId;

  /**
   * 接收范围 EVERYONE:所有人 DEPT:部门 PERSON:个人
   */
  @ApiModelProperty("接收范围")
  private String receiveRange;

  /**
   * 提醒层级
   */
  @ApiModelProperty("提醒层级")
  private Long remindLevel;

  /**
   * 指定工作任务安排人就职记录ID
   */
  @ApiModelProperty("指定工作任务安排人就职记录ID")
  private String appointWorkTaskArrangeInductionId;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  @ApiModelProperty("部门列表")
  private List<BffDeptDto> deptList = new ArrayList<>();

  @ApiModelProperty("就职记录列表 ")
  List<String> orgInductionRecordList = new ArrayList<>();

  @ApiModelProperty("业务应用文档关系列表")
  List<String> busAppDocRelaList = new ArrayList<>();

}
